/**
 * 9. 回文数--思路很重要
 判断一个整数是否是回文数。回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。
 示例 1:
 输入: 121
 输出: true
 示例 2:
 输入: -121
 输出: false
 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
 示例 3:
 输入: 10
 输出: false
 解释: 从右向左读, 为 01 。因此它不是一个回文数。

 进阶:
 你能不将整数转为字符串来解决这个问题吗？
 */
public class A614 {
    public static void main(String[] args) {
        Solution614 solution614 = new Solution614();
        System.out.println(solution614.isPalindrome(212));

    }
}

//int --->  string
class Solution614 {
    public boolean isPalindrome(int x) {

//        int y = 0;
//        if(x < 0 || (x != 0 && x % 10 == 0)) return false;
//        while(x > y){
//            y *= 10;
//            y += x % 10;
//            x /= 10;
//        }
//        return x == y || y / 10 == x;








        /**
         * 将一个int类型整数转换成String 类型，三种方法
         * 1、直接拼接一个空字符串  String s = 5 + "";
         * 2、调用integer 的 toString()方法 String s = Integer.toString(5);
         * 3、调用String的valueOf()方法  String s = String.valueOf(5);
         */


//        if(x < 0 || (x % 10 == 0 && x != 0)) return false;
//        if(x == 0 || x / 10 == 0)






        String s = Integer.toString(x);
        StringBuffer stringBuffer = new StringBuffer(s);
        String s1 = stringBuffer.reverse().toString();


        if(s.equals(s1)){
            return true;
        }else {
            return false;
        }









//        String s = x + "";

//        String s1 = "";
//        System.out.println(s);
//        for(int i = s.length() - 1;i >= 0; i--){
//            s1 += s.charAt(i);
//        }
//        String s = String.valueOf(x);
//        StringBuffer stringBuffer = new StringBuffer(s);
//        String s1 = stringBuffer.toString();
//        StringBuffer sb = stringBuffer.reverse();
//        String s2 = sb.toString();
//
//        if(s1.equals(s2)){
//            return true;
//        }else {
//            return false;
//        }
    }
}
